import React, { Component } from 'react'
// 使用props的注意点:
// 1. props的数据是只读数据,不能重新赋值. 但是如果修改的是复杂数据类型里面的数据,react发现不了,不会报错
// 2. props可以传递任何数据
// 3. (了解) 默认构造器中通过this.props无法获取props数据,需要在构造器中接收,并传递给super才能通过this.props获取到
export default class Test extends Component {
  constructor(props) {
    super(props)
    console.log(this.props)
  }
  render() {
    // this.props.num = 100// 报错
    // console.log(this.props.num)
    // this.props.yyy.name = 'ls' //不会报错
    // console.log(this.props.yyy)
    // this.props.yyy = 123 //报错

    //this.props.ele 拿到的就是虚拟dom
    return (
      <div>
        Test
        <hr />
        {/* ele是传递过来的虚拟dom,所以直接在插值表达式中渲染 */}
        {this.props.ele}
        {/* eleType是传递过来的一个组件,不是组件实例 */}
        <this.props.eleType></this.props.eleType>
        {/* eleInstance 是传递过来的一个组件实例 */}
        {this.props.eleInstance}
      </div>
    )
  }
}
